home *** CD-ROM | disk | FTP | other *** search
/ Aminet 48 / Aminet 48 (2002)(GTI - Schatztruhe)[!][Apr 2002].iso / Aminet / text / edit / vim60src.lha / Vim / vim60 / src / term.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-03-23  |  6.5 KB  |  157 lines

  1. /* vi:set ts=8 sts=4 sw=4:
  2.  *
  3.  * VIM - Vi IMproved    by Bram Moolenaar
  4.  *
  5.  * Do ":help uganda"  in Vim to read copying and usage conditions.
  6.  * Do ":help credits" in Vim to see a list of people who contributed.
  7.  */
  8.  
  9. /*
  10.  * This file contains the defines for the machine dependent escape sequences
  11.  * that the editor needs to perform various operations. All of the sequences
  12.  * here are optional, except "cm" (cursor motion).
  13.  */
  14.  
  15. #if defined(SASC) && SASC < 658
  16. /*
  17.  * The SAS C compiler has a bug that makes typedefs being forgot in include
  18.  * files.  Has been fixed in version 6.58.
  19.  */
  20. typedef unsigned char char_u;
  21. #endif
  22.  
  23. /*
  24.  * Index of the termcap codes in the term_strings array.
  25.  */
  26. enum SpecialKey
  27. {
  28.     KS_NAME = 0,/* name of this terminal entry */
  29.     KS_CE,    /* clear to end of line */
  30.     KS_AL,    /* add new blank line */
  31.     KS_CAL,    /* add number of blank lines */
  32.     KS_DL,    /* delete line */
  33.     KS_CDL,    /* delete number of lines */
  34.     KS_CS,    /* scroll region */
  35.     KS_CL,    /* clear screen */
  36.     KS_CD,    /* clear to end of display */
  37.     KS_UT,    /* clearing uses current background color */
  38.     KS_DA,    /* text may be scrolled down from up */
  39.     KS_DB,    /* text may be scrolled up from down */
  40.     KS_VI,    /* cursor invisible */
  41.     KS_VE,    /* cursor visible */
  42.     KS_VS,    /* cursor very visible */
  43.     KS_ME,    /* normal mode */
  44.     KS_MR,    /* reverse mode */
  45.     KS_MD,    /* bold mode */
  46.     KS_SE,    /* normal mode */
  47.     KS_SO,    /* standout mode */
  48.     KS_CZH,    /* italic mode start */
  49.     KS_CZR,    /* italic mode end */
  50.     KS_UE,    /* exit underscore mode */
  51.     KS_US,    /* underscore mode */
  52.     KS_MS,    /* save to move cur in reverse mode */
  53.     KS_CM,    /* cursor motion */
  54.     KS_SR,    /* scroll reverse (backward) */
  55.     KS_CRI,    /* cursor number of chars right */
  56.     KS_VB,    /* visual bell */
  57.     KS_KS,    /* put term in "keypad transmit" mode */
  58.     KS_KE,    /* out of "keypad transmit" mode */
  59.     KS_TI,    /* put terminal in termcap mode */
  60.     KS_TE,    /* out of termcap mode */
  61.     KS_BC,    /* backspace character (cursor left) */
  62.     KS_CCS,    /* cur is relative to scroll region */
  63.     KS_CCO,    /* number of colors */
  64.     KS_CSF,    /* set foreground color */
  65.     KS_CSB,    /* set background color */
  66.     KS_XS,    /* standout not erased by overwriting (hpterm) */
  67.     KS_MB,    /* blink mode */
  68.     KS_CAF,    /* set foreground color (ANSI) */
  69.     KS_CAB,    /* set background color (ANSI) */
  70.     KS_LE,    /* cursor left (mostly backspace) */
  71.     KS_ND,    /* cursor right */
  72.     KS_CIS,    /* set icon text start */
  73.     KS_CIE,    /* set icon text end */
  74.     KS_TS,    /* set window title start (to status line)*/
  75.     KS_FS,    /* set window title end (from status line) */
  76.     KS_CWP,    /* set window position in pixels */
  77.     KS_CWS,    /* set window size in characters */
  78.     KS_CRV,    /* request version string */
  79. #ifdef FEAT_VERTSPLIT
  80.     KS_CSV,    /* scroll region vertical */
  81. #endif
  82.     KS_OP    /* original color pair */
  83. };
  84.  
  85. #define KS_LAST        KS_OP
  86.  
  87. /*
  88.  * the terminal capabilities are stored in this array
  89.  * IMPORTANT: When making changes, note the following:
  90.  * - there should be an entry for each code in the builtin termcaps
  91.  * - there should be an option for each code in option.c
  92.  * - there should be code in term.c to obtain the value from the termcap
  93.  */
  94.  
  95. extern char_u *(term_strings[]);    /* current terminal strings */
  96.  
  97. /*
  98.  * strings used for terminal
  99.  */
  100. #define T_NAME    (term_str(KS_NAME))    /* terminal name */
  101. #define T_CE    (term_str(KS_CE))    /* clear to end of line */
  102. #define T_AL    (term_str(KS_AL))    /* add new blank line */
  103. #define T_CAL    (term_str(KS_CAL))    /* add number of blank lines */
  104. #define T_DL    (term_str(KS_DL))    /* delete line */
  105. #define T_CDL    (term_str(KS_CDL))    /* delete number of lines */
  106. #define T_CS    (term_str(KS_CS))    /* scroll region */
  107. #define T_CSV    (term_str(KS_CSV))    /* scroll region vertical */
  108. #define T_CL    (term_str(KS_CL))    /* clear screen */
  109. #define T_CD    (term_str(KS_CD))    /* clear to end of display */
  110. #define T_UT    (term_str(KS_UT))    /* clearing uses background color */
  111. #define T_DA    (term_str(KS_DA))    /* text may be scrolled down from up */
  112. #define T_DB    (term_str(KS_DB))    /* text may be scrolled up from down */
  113. #define T_VI    (term_str(KS_VI))    /* cursor invisible */
  114. #define T_VE    (term_str(KS_VE))    /* cursor visible */
  115. #define T_VS    (term_str(KS_VS))    /* cursor very visible */
  116. #define T_ME    (term_str(KS_ME))    /* normal mode */
  117. #define T_MR    (term_str(KS_MR))    /* reverse mode */
  118. #define T_MD    (term_str(KS_MD))    /* bold mode */
  119. #define T_SE    (term_str(KS_SE))    /* normal mode */
  120. #define T_SO    (term_str(KS_SO))    /* standout mode */
  121. #define T_CZH    (term_str(KS_CZH))    /* italic mode start */
  122. #define T_CZR    (term_str(KS_CZR))    /* italic mode end */
  123. #define T_UE    (term_str(KS_UE))    /* exit underscore mode */
  124. #define T_US    (term_str(KS_US))    /* underscore mode */
  125. #define T_MS    (term_str(KS_MS))    /* save to move cur in reverse mode */
  126. #define T_CM    (term_str(KS_CM))    /* cursor motion */
  127. #define T_SR    (term_str(KS_SR))    /* scroll reverse (backward) */
  128. #define T_CRI    (term_str(KS_CRI))    /* cursor number of chars right */
  129. #define T_VB    (term_str(KS_VB))    /* visual bell */
  130. #define T_KS    (term_str(KS_KS))    /* put term in "keypad transmit" mode */
  131. #define T_KE    (term_str(KS_KE))    /* out of "keypad transmit" mode */
  132. #define T_TI    (term_str(KS_TI))    /* put terminal in termcap mode */
  133. #define T_TE    (term_str(KS_TE))    /* out of termcap mode */
  134. #define T_BC    (term_str(KS_BC))    /* backspace character */
  135. #define T_CCS    (term_str(KS_CCS))    /* cur is relative to scroll region */
  136. #define T_CCO    (term_str(KS_CCO))    /* number of colors */
  137. #define T_CSF    (term_str(KS_CSF))    /* set foreground color */
  138. #define T_CSB    (term_str(KS_CSB))    /* set background color */
  139. #define T_XS    (term_str(KS_XS))    /* standout not erased by overwriting */
  140. #define T_MB    (term_str(KS_MB))    /* blink mode */
  141. #define T_CAF    (term_str(KS_CAF))    /* set foreground color (ANSI) */
  142. #define T_CAB    (term_str(KS_CAB))    /* set background color (ANSI) */
  143. #define T_LE    (term_str(KS_LE))    /* cursor left */
  144. #define T_ND    (term_str(KS_ND))    /* cursor right */
  145. #define T_CIS    (term_str(KS_CIS))    /* set icon text start */
  146. #define T_CIE    (term_str(KS_CIE))    /* set icon text end */
  147. #define T_TS    (term_str(KS_TS))    /* set window title start */
  148. #define T_FS    (term_str(KS_FS))    /* set window title end */
  149. #define T_CWP    (term_str(KS_CWP))    /* window position */
  150. #define T_CWS    (term_str(KS_CWS))    /* window size */
  151. #define T_CRV    (term_str(KS_CRV))    /* request version string */
  152. #define T_OP    (term_str(KS_OP))    /* original color pair */
  153.  
  154. #define TMODE_COOK  0    /* terminal mode for external cmds and Ex mode */
  155. #define TMODE_SLEEP 1    /* terminal mode for sleeping (cooked but no echo) */
  156. #define TMODE_RAW   2    /* terminal mode for Normal and Insert mode */
  157.